package com.gome.axwl.aoc.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.gome.axwl.aoc.entity.po.CsApplyInfoForListPo;
import com.gome.axwl.aoc.entity.po.CsApplyInfoParmPo;
import com.gome.axwl.aoc.entity.po.CsApplyInfoPo;

public interface CsApplyInfoDao {

    /**
     * 根据需求，不提供物理删除
     * @param id
     * @return
     */
    //int deleteByPrimaryKey(Integer id);

    int insert(CsApplyInfoPo record);

    int insertSelective(CsApplyInfoPo record);

    CsApplyInfoPo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(CsApplyInfoPo record);

    int updateByPrimaryKey(CsApplyInfoPo record);

    /**
     * 一并查询关联的其他表数据
     * @param applyInfoId
     * @author yinyuxin@gome.com.cn
     * @return
     */
    CsApplyInfoPo selectWithAssociateByPrimaryKey(@Param("applyInfoId") Integer applyInfoId);

    /**
     * 查询入驻服务商名称（模糊查询）
     * @param settleName
     * @return
     */
    List<String> querySettleName(@Param("settleName") String settleName);

    /**
     * 查询审批列表
     * @param csApplyInfoParmPo
     * @return
     */
    List<CsApplyInfoForListPo> queryApplyListForApproval(CsApplyInfoParmPo csApplyInfoParmPo);

    /**
     * 全字段查询记录（没有查关联对象）
     * @param csApplyInfoPo
     * @return
     */
    List<CsApplyInfoPo> queryApplyInfoBySelective(CsApplyInfoPo csApplyInfoPo);

    /**
     * 获取 待运营审批的单子
     * @return
     */
    List<CsApplyInfoPo> queryApplyInfoForApprovalRemind();

    List<CsApplyInfoPo> queryByIds(@Param("ids") List<Integer> ids);
}